package com.yinhe.music.yhmusic.radio.contract;

import com.yinhe.music.yhmusic.base.IBaseView;
import com.yinhe.music.yhmusic.model.RadioListInfo;

/**
 * RadioListActivity 契约类
 *
 * @author 何晓华
 */
public interface IRadioListContract {
    interface IRadioListPresenter {

        /**
         * 电台列表
         *
         * @param pageSize  每页大小
         * @param page      页数
         * @param bannerNum banner数量
         * @param radioType 电台分类
         * @param sort      排序 hot/new
         */
        void getRadioList(int pageSize, int page, int bannerNum, int radioType, String sort);

        /**
         * 搜索列表
         *
         * @param page     页数
         * @param pageSize 每页大小
         * @param keyword  搜索关键词
         */
        void getSearchList(int page, int pageSize, String keyword);

        void getMyRadioList(int pageSize, int page);

        void getUserRadioList(String userId, int page, int pageSize);
    }

    interface IRadioListView extends IBaseView {

        /**
         * 更新电台列表界面
         *
         * @param radioListInfo 服务器返回
         */
        void setRadioListUI(RadioListInfo radioListInfo);

        /**
         * 加载更多失败
         */
        void setLoadMoreFailUI();
    }

}
